翻訳と辞書
Words near each other
・ Run-around coil
・ Run-Away (Super Furry Animals song)
・ Run-flat tire
・ Run-in
・ Run-in period
・ Run-length encoding
・ Run-length limited
・ Run-of-the-river hydroelectricity
・ Run-off area
・ Run-off transcription
・ Run-off-road collision
・ Run-on
・ Run-on sentence
・ Run-out
・ Run-Time Abstraction Services
Run-time algorithm specialisation
・ Run-time checking
・ Run-time estimation of system and sub-system level power consumption
・ Run-time infrastructure (simulation)
・ Run-time type information
・ Run-up
・ Run-up (aviation)
・ Run-up (cricket)
・ Run2me
・ Run4Fun
・ Runa
・ Runa (band)
・ Runa (novel)
・ Runa ABC
・ Runa Akasaka


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Run-time algorithm specialisation : ウィキペディア英語版
Run-time algorithm specialisation
In computer science, run-time algorithm specialization is a methodology for creating efficient algorithms for costly computation tasks of certain kinds. The methodology originates in the field of automated theorem proving and, more specifically, in the Vampire theorem prover project.
The idea is inspired by the use of partial evaluation in optimising program translation.
Many core operations in theorem provers exhibit the following pattern.
Suppose that we need to execute some algorithm \mathit(A,B) in a situation where a value of A ''is fixed for potentially many different values of'' B. In order to do this efficiently, we can try to find a specialization of \mathit for every fixed A, i.e., such an algorithm \mathit_A, that executing \mathit_A(B) is equivalent to executing \mathit(A,B).
The specialized algorithm may be more efficient than the generic one, since it can ''exploit some particular properties'' of the fixed value A. Typically, \mathit_A(B) can avoid some operations that \mathit(A,B) would have to perform, if they are known to be redundant for this particular parameter A.
In particular, we can often identify some tests that are true or false for A, unroll loops and recursion, etc.
== Difference from partial evaluation ==
The key difference between run-time specialization and partial evaluation is that the values of A on which \mathit is specialised are not known statically, so the ''specialization takes place at run-time''.
There is also an important technical difference. Partial evaluation is applied to algorithms explicitly represented as codes in some programming language. At run-time, we do not need any concrete representation of \mathit. We only have to ''imagine'' \mathit ''when we program'' the specialization procedure.
All we need is a concrete representation of the specialized version \mathit_A. This also means that we cannot use any universal methods for specializing algorithms, which is usually the case with partial evaluation. Instead, we have to program a specialization procedure for every particular algorithm \mathit. An important advantage of doing so is that we can use some powerful ''ad hoc'' tricks exploiting peculiarities of \mathit and the representation of A and B, which are beyond the reach of any universal specialization methods.

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Run-time algorithm specialisation」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.